package com.yungu.swift.order.model.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yungu.swift.base.model.BaseDto;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;


/**
 * 隐私号通话记录实体
 **/
public class OrderSecretNoReportDto extends BaseDto {


    @ApiModelProperty(value = "订单 uuid")
    private String orderUuid;

    @ApiModelProperty(value = "绑定关系 id")
    private String privacyUuid;

    @ApiModelProperty(value = "通话记录的ID")
    private String callId;

    @ApiModelProperty(value = " AXB中的A号码")
    private String passengerMobile;

    @ApiModelProperty(value = "AXB中的X号码")
    private String privacyMobile;

    @ApiModelProperty(value = "AXB中的B号码或者N号码")
    private String peerNo;

    @ApiModelProperty(value = "0:主叫(phone_no打给peer_no)；1:被叫(peer_no打给phone_no)；2:短信发送；3:短信接收; 4:呼叫拦截; 5:短信收发拦截")
    private Integer callType;

    @ApiModelProperty(value = "主叫拨打时间")
    private Date callTime;

    @ApiModelProperty(value = "被叫接听时间")
    private Date startTime;

    @ApiModelProperty(value = "呼叫送被叫端局时,被叫端局响应的时间")
    private Date ringTime;

    @ApiModelProperty(value = "被叫手机真实的振铃时间,free_ring_time > call_time代表被叫真实发生了振铃事件, 相等代表未振铃")
    private Date freeRingTime;

    @ApiModelProperty(value = "被叫挂断时间，release_time - start_time 代表通话时长 如果结果为0,代表呼叫未接通")
    private Date releaseTime;

    @ApiModelProperty(value = "短信长度")
    private Integer smsNumber;

    @ApiModelProperty(value = "通话释放方向，0代表平台释放 1代表主叫挂断 2代表被叫挂断")
    private Integer releaseDir;

    @ApiModelProperty(value = "释放原因")
    private String releaseCause;

    @JsonIgnore
    @ApiModelProperty(value = "阿里云通话录音下载链接", hidden = true)
    private String downloadUrl;

    @ApiModelProperty(value = "oss通话录音下载链接")
    private String ossDownloadUrl;


    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public String getOrderUuid() {
        return this.orderUuid;
    }

    public void setPrivacyUuid(String privacyUuid) {
        this.privacyUuid = privacyUuid;
    }

    public String getPrivacyUuid() {
        return this.privacyUuid;
    }

    public void setCallId(String callId) {
        this.callId = callId;
    }

    public String getCallId() {
        return this.callId;
    }

    public void setPassengerMobile(String passengerMobile) {
        this.passengerMobile = passengerMobile;
    }

    public String getPassengerMobile() {
        return this.passengerMobile;
    }

    public void setPrivacyMobile(String privacyMobile) {
        this.privacyMobile = privacyMobile;
    }

    public String getPrivacyMobile() {
        return this.privacyMobile;
    }

    public void setPeerNo(String peerNo) {
        this.peerNo = peerNo;
    }

    public String getPeerNo() {
        return this.peerNo;
    }

    public void setCallType(Integer callType) {
        this.callType = callType;
    }

    public Integer getCallType() {
        return this.callType;
    }

    public void setCallTime(Date callTime) {
        this.callTime = callTime;
    }

    public Date getCallTime() {
        return this.callTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return this.startTime;
    }

    public void setRingTime(Date ringTime) {
        this.ringTime = ringTime;
    }

    public Date getRingTime() {
        return this.ringTime;
    }

    public void setFreeRingTime(Date freeRingTime) {
        this.freeRingTime = freeRingTime;
    }

    public Date getFreeRingTime() {
        return this.freeRingTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime() {
        return this.releaseTime;
    }

    public void setSmsNumber(Integer smsNumber) {
        this.smsNumber = smsNumber;
    }

    public Integer getSmsNumber() {
        return this.smsNumber;
    }

    public void setReleaseDir(Integer releaseDir) {
        this.releaseDir = releaseDir;
    }

    public Integer getReleaseDir() {
        return this.releaseDir;
    }

    public void setReleaseCause(String releaseCause) {
        this.releaseCause = releaseCause;
    }

    public String getReleaseCause() {
        return this.releaseCause;
    }

    public void setDownloadUrl(String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }

    public String getDownloadUrl() {
        return this.downloadUrl;
    }

    public void setOssDownloadUrl(String ossDownloadUrl) {
        this.ossDownloadUrl = ossDownloadUrl;
    }

    public String getOssDownloadUrl() {
        return this.ossDownloadUrl;
    }

}
